package com.logic.landseaserver.persistence.read;

import java.util.HashMap;
import java.util.List;

import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.domain.Coupon;
import com.logic.landseaserver.models.prepayment.bean.SelectEffectiveCouponReq;
import com.logic.landseaserver.ws.dto.CouponDTO;
import com.logic.landseaserver.ws.dto.CouponGeneralDTO;
import com.logic.landseaserver.ws.dto.CouponPersonalDTO;
import com.logic.landseaserver.ws.dto.QueryCouponUesdDTO;


public interface CouponReadMapper {
    
    Coupon selectByPrimaryKey(Integer id);
    
    Integer getMaxCouponCode();
    
    List<CouponPersonalDTO> selectPersonByPage(QueryUtil queryUtil);
    
    List<CouponGeneralDTO> selectGeneralByPage(QueryUtil queryUtil);
    
    CouponDTO queryByPrimaryKey(Integer id);
    
    Integer selectByCouponId(Integer couponId);
    
    List<QueryCouponUesdDTO> queryUesdCoupon(HashMap map);
    
    List<Coupon> selectCoupon(String appropriateType);
    
    Integer getMaxAuthCode();
    
    List<CouponDTO> selectCommonAuthCode();
    
    List<CouponDTO> selectByUserIdAndStatus(int i, String code);

    List<QueryCouponUesdDTO> selectCanUseForAccout(SelectEffectiveCouponReq req);

}